package com.imau.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.imau.common.entiry.PageQuery;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

public interface BaseService<T>   {


    /**
     * 查询信息
     */
    T queryById(Serializable id);
    /**
     * 查询信息列表
     */
    List<T> queryList(T entity);
    /**
     * 分页查询信息
     */
    Page<T> queryPageList(T entity, PageQuery pageQuery);

    /**
     * 修改信息
     */
    boolean updateByEntity(T entity);
    /**
     * 新增信息
     */

    boolean saveEntity(T entity );
    /**
     * 按照住建
     * 删除信息
     */
    boolean removeWithById(Serializable id);
    /**
     * 批量删除信息信息
     */
    boolean removeWithValidByIds(Collection<?> ids);

    /**
     * 构建条件*/
   LambdaQueryWrapper<T> buildQueryWrapper(T entity);

}
